package session01;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class TestJDBC {
    public static void main(String[] args) {
        //1、加载驱动
        /*
            如果以后要换成其他数据库的jar包，那么我们只需要把这个字符串
            换掉改成其他数据库jar包中提供的驱动类即可。
            1、这个驱动类的类名字符串可以写到一篇外部文件当中，然后在程序
               启动的时候通过读取文件获取。这样就算要改这个驱动类的类名也
               不需要改动java文件；
            2、在现在的JDBC代码中，这段代码已经可以省略掉了。也就是说现在
               驱动包里面可以自动加载Driver了。 但由于在面试中，有公司在
               考查这段代码的含义，所以我们还是写出来。
         */
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

        //2、获取连接
/*        Connection con = null;
        try {
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&useSSL=false&useUnicode=true&characterEncoding=utf8",
                    "root", "123456");
            System.out.println(con);//测试连接是否成功
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            if (con != null) {
                try {
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }*/

        //2、获取连接
        String url = "jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&useSSL=false&useUnicode=true&characterEncoding=utf8";
        String user = "root";
        String password = "123456";
        try (Connection con = DriverManager.getConnection(url, user, password)) {
            System.out.println(con);
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }
}
